Manual for: ESCV chainV FileReqV Iterate OpalEQ PadNum CPY latchV StopLatch UC GetCedStat/SetCedStat ** not yet written up for: RunWB DelInfo bhead btail BlackOpal ThumbV IconM SpawnM TSearch IFF2JPEG UUprocess ** All programs and this document are copyright (c) 1993,1994 Charles Bloom. These programs ARE NOT DISTRIBUTEABLE! COPYING THESE PROGRAMS IS PIRACY AND VIOLATORS WILL BE PROSECUTED!!! These programs are given by gift of Charles Bloom only! If you recieve these files by any other means contant Charles Bloom immediately!! If I give you these, be grateful and don't spread them - that's my job, not yours! The author can be reached at: mail: Charles Bloom 2501 Wickersham, apt. #911 Austin, TX 78741 net: cbloom@mail.utexas.edu All of these programs are compiled for 68030 and 68881 machines or better only. All are optimized for use on these processors. ---------------------------------------------------------------------- ESCV: This is a picture viewer for OpalVision. It only quits when ESC is pressed. This was written so that two monitors could be used on the same Amiga in the following fashion: one displaying an OpalVision picture (with this program), the other running normal Amiga programs. ---------------------------------------------------------------------- chainV: This program will display multiple files continuously. This means that only one screen will be used, and the first picture stays up while the second is loading, etc. for minimum black-screen between frames. Useful for making tapes or just viewing (easier than OpalPresents) ---------------------------------------------------------------------- FileReqV: Uses the OpalVision file requester to display pictures (thumbnails, etc.) Just try it, its all point and click. ---------------------------------------------------------------------- Iterate: This is a shell program, primarily written for script files. It will perform an operation on file names with incrementing numbers in them, such as frames of an animation (pic.1,pic.2,pic.3,etc.) for all frames in the sequence. The syntax is: Iterate should contain in the apropriate place. The number to be iterated should be represented as the '#' character. For example, to view a series of pictures: Iterate pic.# ESCV pic.# This will perform "ESCV pic.#" until "pic.#" no longer exists. A wierd example: Iterate pic.# delete pic.#.info This will delete all the .info files for a set of pictures, until "pic.#" no longer exists. Note that the test file name and the actually-used file name are different. This means that if pic.9.info exists, but pic.9 does not, pic.9.info will not be deleted. This would make more sence the other way around, but that ain't the way it works :^) ---------------------------------------------------------------------- OpalEQ: Yet another OpalVision program. This one will plot equations for R,G,and B with respect to x and y as pictures, and let you save the result as an IFF24. Run it from WorkBench or CLI. The prompts for Red, Green, and Blue want a function F(x,y). The three colors have independant equations. The syntax of the equations is as follows: F(x,y) = PHRASE +- PHRASE +- PHRASE .... PHRASE = TERM TERM TERM .... can be: *,/,or ^ TERM = (PHRASE +- PHRASE +- PHRASE ....) or TERM = numeric numeric can be just a number (like 8, or 900, or 9.2134). There are two special numbers: e and pi (spelled like that, lower case). or TERM = TERM can be: sin, cos, tan, ln, log, cosh, sinh note that since is performed on TERM, these functions are performed on the next numeric or the set of phrases in paranthesis. TERMs may be X and Y Examples: 4*3*2 = 24 1 PHRASE , 3 TERMs, 2s 4*(3*2) = 24 1 PHRASE , (3*2) is a TERM: 2 TERMs 7*(1+2) = 21 1 PHRASE 1+7*2 = 15 2 PHRASEs 4*sinpi-pi = -pi 2 PHRASEs, 3 TERMs sinpi*cos0 = -1 1 PHRASE , 2 TERMs sin(pi*cos0) = 0 1 PHRASE , 1 TERM etc... You can make some pretty patterns using trig & log functions. ---------------------------------------------------------------------- PadNum: This program expands numbers like 4 to 0004 (pads numbers with leading zeros). This is useful for naming things for use in animations. To run from the WorkBench, click once on PadNum, select all the files to pad, then double click the last one. PadNum will also pad .info files. Syntax: PadNum <#> .... <#> is the number of digits to pad to. For example: <#>=4 would pad '5' to '0005'. <#>=2 would pad '5' to '05'. YOU MUST NOT HAVE MORE DIGITS THAN <#>! For example: <#>=2 would be very confused by '103'!! <#>=0 will depad numbers. For example, '00006' would become '6',and so on. To decrease padding on a number, you must first depad, then repad. ---------------------------------------------------------------------- CPY: This is another cheesy hack. The purpose of this program is to mimic the MS-DOS copy in which if you type "copy " with no second paramater, the is copied into the current working directory. For example: CPY c:memacs would copy memacs into the current directory. ---------------------------------------------------------------------- LatchV: This is another picture viewer. This viewer copies the image into the OpalVision frame buffer, sets the 'latch' bit (thence the name) and then completely quits. The image is not stored anywhere in Amiga memory, only on the OpalVision. This means that: THIS VIEWER USES 0k of RAM!!! Note that there is no control line at the top of the screen the way there usually is. This picture will remain displayed even if the computer reboots (as long OpalVision is receiving power to its RAM). The picture will only go away when another OpalVision screen wants it. ( calling OpenScreen24 ). This program is only useful when running two monitors simultaneously. ---------------------------------------------------------------------- StopLatch: This is a cheesy hack. It opens and closes a screen to clear anything which is currently latched in. It has the effect of clearing and closing a picture loaded by LatchV. Note that BackDrop24 and OpalHotKey use the 'latch' method also, and this program will clear them as well. They will not be expecting to be cleared by this program, but should not have any problem with it. ---------------------------------------------------------------------- UC: UltimateClock. This is a tiny, powerful clock. It is pure and can be made resident. It is only 5k in size and minimizes memory while still being very processor-friendly while running. Parameters may be passed on the command line from CLI or as Tool Types from workbench. Parameters are: NOTIME doesn't display the time (default is to display the time) AMPM displays 12-hour time w/ AM & PM (default is 24 hour) DATE displays the date FASTMEM displays "Fast: #" for amount of fastmem available CHIPMEM displays "Chip: #" for amount of chipmem available SCREEN= loads UC on a PublicScreen named ; note that must be exactly correct (including capitalization & punctuation) TOPY= sets the top y coordinate for the clock window on startup ---------------------------------------------------------------------- GetCedStat/SetCedStat: These are two programs designed to work together with Ced to make it more friendly. Both are about 3k in size and are pure, and can (and should) be made resident. I use a commodity-hotkey program to call them from lcommand-g for getcedstat and lcommand-s for setcedstat. Their functionality as is follows: load files into Ced, do whatever to quit, run GetCedStat. This will log the name of all the open files, and your position in those files to restart, run SetCedStat. This will restore the previous files and jump to where you were editing them These programs require the drawer ENVARC:CedStat to be created before running them. They will save the file envarc:cedstat/cedstat. SetCedStat will run the Rexx program envarc:cedstat/init.rexx Note that this rexx program must address Ced itself (see my example) because it is not given the host. I also use a file called envarc:cedstat/ceddefs for default settings, which I load in init.rexx TODO: make getcedstat call closedown.rexx and save an icon based on the file extension